package com.shopper.manager.mapper;

import com.shopper.manager.model.customer.req.OrderListReq;
import com.shopper.manager.model.order.*;
import com.shopper.manager.model.order.req.*;
import com.shopper.manager.model.order.result.*;

import java.util.List;
import java.util.Map;

public interface OrderMapper {
    int insertCategory(OrderCategoryBean bean);//插入商品品类
    List<OrderCategoryBean> selectCategory(String businessLicense);//查询品类列表
    int updateCategory(List<OrderCategoryBean> list);//更改品类列表
    int deleteCategory(OrderCategoryBean bean);//删除品类
    int insertOrderSpecifications(AttributeBean bean);//添加规格属性
    int insertOrderTemperature(AttributeBean bean);//添加温度属性
    int insertOrderSugar(AttributeBean bean);//添加糖度属性
    int insertOrderIngredients(AttributeBean bean);//添加配料属性
    List<AttributeCodeBean> getListAttribute(AttributeBean bean);//获取规格列表
    AttributeListBean selectAttributeListBean(AttributeBean bean);//查询商品属性
    AttributeCodeBean countAttribute(AttributeBean bean);//统计规格是否有误
    int  countCategory(OrderCategoryBean bean);//查询品类列表
    int insertAttributeList(AttributeListBean bean);//插入商品规格列表
    int insertGoods(GoodsBean bean);//插入商品
    List<AttributeCodeBean> getGoodsAttribute(AttributeBean bean);//获得商品属性
     List<GoodsBean> getGoodsList(OrderCategoryBean bean);//获得商品列表
    int deleteGoods(DeleteGoodsReq bean);//删除商品
    int deleteGoodsCategory(AttributeBean bean);//删除商品相关品类
    int updateCategoryPosition(List<OrderCategoryBean> list);
   OrderCategoryBean selectCategoryById(int id);
    int editCategory(EditCategoryReq bean);//更新品类信息
    int insertNorms(NormsInsertReq req);//插入品类规格
    int insertNormsAttribute(NormsAttributeInsertReq req);//插入品类规格属性
    List<NormsBean> getNormsList(NormsListReq req);//获取规格列表
    List<NormsAttributeInsertReq> getNormsAttributeList(int  normsId);//获取规格列表
    int insertOrderGoods(InsertGoodsReq bean);//插入订单商品
    int editOrderGoods(InsertGoodsReq bean);//编辑商品
    List<GoodsResultBean> getCategoryGoodList(GoodsListReq req);//获取品类商品列表
    List<GoodsResultBean> getGoodInfo(GoodsListReq req);
    List<NormsAttributeInsertReq> getGoodNormsAttributeList(GoodsNormsAttributeReq devicesIds);//获取品类商品属性列表
   NormsBean getOrderNorms(NormsReq req);//获取商品订单规格
    int deleteAttribute(int id);//删除属性
    int deleteNorms(int id);//删除规格

    /**
     *分页文档地址：https://blog.csdn.net/qxianx/article/details/95509381
     * @return Long
     */
    List<OrderListResultBean> selectOrderList(OrderListReq req);//查询订单列表
    OrderGoodsBean selectOrderGoods(OrderGoodsReq req);//查询下单商品
    NormsAttributeInsertReq  selectOrderGoodsNorms(OrderGoodsNormsReq req);//查询订单商品规格
    int  updateOrderState(OrderStateReq req);//查询订单商品规格
    List<com.shopper.manager.model.customer.req.OrderGoodsReq> getGoodsSort(String businessLicense);//获取商品排名
    List<OrderListResultBean> selectUserOrderList(OrderListReq req);//查询订单列表

}
